package com.shxzz.easy12306.services.user.service;

import com.shxzz.easy12306.services.user.dto.req.UserDeletionReqDTO;
import com.shxzz.easy12306.services.user.dto.req.UserUpdateReqDTO;
import com.shxzz.easy12306.framework.starter.common.dto.user.UserQueryActualRespDTO;
import com.shxzz.easy12306.services.user.dto.resp.UserQueryRespDTO;

/**
 * 用户管理接口
 * @author shxzz
 * @create 2024-02-28-21:17
 */
public interface UserService {
    /**
     * 查询用户删除次数
     * @param idType 证件类型
     * @param idCard 证件号
     */
    Integer queryUserDeletionNum(Integer idType, String idCard);

    /**
     * 根据用户名查询用户信息
     * @param username 用户名
     * @return 脱敏用户信息
     */
    UserQueryRespDTO queryUserByUsername(String username);

    /**
     * 根据用户名查询用户真实信息
     * @param username 用户名
     * @return 真实用户信息
     */
    UserQueryActualRespDTO queryActualUserByUsername(String username);

    /**
     * 修改用户信息
     */
    void update(UserUpdateReqDTO requestParam);

    /**
     * 用户注销
     */
    void deletion(UserDeletionReqDTO requestParam);
}
